1. Field of Use
The present invention relates to the emulation of one computer system by another computer system, and more particularly to software emulation.
2. Prior Art
With the rapid evolution of higher speed computer systems and new microprocessor chip designs, users now have even a greater need to have their application programs written for a specific computer system run on different computer systems. Moreover, it becomes more important than ever to provide this capability without having to convert or port such application programs. Therefore, a number of vendors have developed both hardware and software approaches to achieve this result without having to convert or port such application programs.
One prior art system achieves the above by providing the capability of running a plurality of different operating systems. Each operating system is defined as having an interior decor and are utilized by an apparatus which isolates the operating systems and ensures that only the instructions of the currently active operating system are executed. This system is disclosed in U.S. Pat. No. 4,530,052 to James L. King entitled, "Apparatus and Method for a Data Processing Unit Sharing a Plurality of Operating Systems" which issued on Jul. 16, 1985 and is assigned to the assignee named herein. This system has the limitation of not being able to run more than one operating system at a time.
Another prior art system provides a plurality of central processing units each of which tightly couples together and utilizes a different type of operating system. The central processing units in combination with their operating systems operate in a peer relationship in which all systems have access to all system resources. To ensure the integrity of the most secure of the operating systems (i.e., deemed the proprietary operating system), certain mechanisms are included in the system for enforcing certain restrictions on the other less secure operating system (i.e., deemed the non-proprietary operating systems). These restrictions are that a non-proprietary operating system can only access memory allocated by the proprietary operating system and can use only those channels and input/output instructions specifically assigned by the proprietary operating system. Stated differently, mechanisms are provided to prevent the intentional or unintentional use of resources not assigned to the particular central processing unit and operating system combination.
The above system is disclosed in U.S. Pat. Nos. 5,027,271 and 5,230,065 invented by John L. Curley, et al. entitled, "Apparatus and Method for Alterable Resource Partitioning Enforcement in a Data Processing System Having Central Processing Units using Different Operating Systems" and "Apparatus and Method for a Data Processing System Having a Peer Relationship Among a Plurality of Central Processing Units" which issued on Jun. 25, 1991 and Jul. 20, 1993, respectively, and are assigned to the same assignee as named herein. It will be noted that while this system enables the running of more than one operating system, it requires the use of separate independent central processing units and mechanisms for enforcing the use of only assigned system resources.
When running different operating systems within a system, it becomes desirable to provide a user with the capability of utilizing both systems in an efficient manner. In the prior an system of U.S. Pat. No. 5,230,065, a user is allowed access to both operating systems through a user registration process performed on the proprietary operating system whose results are then transferred to the non-proprietary operating system. When a user has been registered on the proprietary operating system as having access to both systems, the user can issue a special switch command which switches the user's terminal over to the non-proprietary operating system. The switch command allows permanent access (i.e., access until logout from the current session) or temporary access (i.e., access to execute a single command) to the non-proprietary operating system. During this access, the user is able to issue commands while running on the non-proprietary operating system which may for example allow the transfer of data to the other operating system. For a further description of this system and operations, reference may be made to the publication entitled "GCOS6 HVS6 PLUS XC Processor Systems Basics" published by Bull HN Information Systems Inc., dated December, 1991, order number LH39-02.
While the above prior an arrangement allows a user access to both operating systems, such access takes place at the user level while both operating system maintain their independent mode of operation. It will be noted that this type of access capability can only be invoked at a high level and still requires user interaction with both operating systems as independent entities. Hence, this capability was in effect built on top of both operating systems, relying heavily on a user's ability to issue the proper sequence of commands to both systems for the execution of the appropriate procedures by each operating system. This arrangement is less efficient since it can be very cumbersome and time consuming to use.
Further, the above prior art arrangement does not provide for stringent security enforcement within both operating systems. That is, the proprietary operating system validates security as to unauthorized access for the entire system through the proprietary operating system's log-in mechanism. As to security for preventing compromises in data, the system includes mechanisms which enable the proprietary operating system to enforce resource restrictions on the non-proprietary system. Thus, this type of approach would not be effective in systems such as that of the present invention in the case where the application programs being run on the proprietary operating system are the application programs which are required to be emulated by the host system.
Furthermore, in the type of prior art proprietary operating system contemplated, information disclosing a substantial part of the organization of the operating system and its associated data structures historically have been made accessible to users. Therefore, it is likely that a knowledgeable user could intentionally or unintentionally alter the operating system data structures defining the user's identity and data access rights to gain access to other user system data files. Since this type of activity would go undetected in the prior art system and therefore unpreventable, this would result in significant compromises in system security.
Accordingly, it is a primary object of the present invention to provide access to host file system facilities for more efficient execution of application programs being emulated on a host system.
It is another object of the present invention to provide a method and system which enables application programs running in an emulation environment on a host system to be efficiently executed in a highly secure manner.
It is still another object of the present invention to provide a method and system for executing application programs running in an emulation environment on a host system which requires no changes to the host system operating system facilities thereby facilitating software enhancement and support.